package cn.tedu.springmvc.controller;

import cn.tedu.springmvc.pojo.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

@Controller
public class UserController {

    /**
     * 声明参数方式接收客户端传递的数据:非封装参数
     * 测试:浏览器中输入如下地址:
     * http://localhost:8080/login?username=shuoshuo&password=123456
     */
    @RequestMapping("/login")
    @ResponseBody
    public String login(String username, String password){
        //URL地址中的请求参数名一定要和控制器方法的参数名一致,才可以映射成功
        return "登录成功,用户名为:" + username + ",密码为:" + password;
    }

    /**
     * 使用实体类接收客户端传递的数据:封装参数
     * 测试：http://localhost:8080/reg?username=张大硕&password=123456&nickname=硕硕
     * @param user 实体类
     */
    @RequestMapping("/reg")
    @ResponseBody
    //@RequestBody注解:将HTTP请求体中的JSON绑定到方法参数上
    public String reg(@RequestBody User user){
        return user.toString();
    }

    /**
     * 客户端传递的数据格式为:数组类型
     * 测试: http://localhost:8080/like?likes=a,b,c,d,e,f,g
     */
    @RequestMapping("/like")
    @ResponseBody
    public String like(String[] likes){
        return Arrays.toString(likes);
    }
}






